/**
 * The instantiation of the item abstract class.
 *
 * @author Levester Chaney
 * @version 0.0.1
 */

#include "abstractTypes.h"

item :: item()
{
	this->name = new char(MAX_STRING_SIZE);
	this->type = NORMAL;
	this->equippable = false;
}

item :: item(char* name)
{
	this->name = name;
	this->type = NORMAL;
	this->equippable = false;
}

item :: item(char* name, itemType type)
{
	this->name = name;
	this->type = type;
	this->equippable = false;
}

item :: item(char* name, itemType type, bool equippable)
{
	this->name = name;
	this->type = type;
	this->equippable = equippable;
}
	
item :: ~item()
{
	// destroys this object
	delete this->name;
}

char*
item :: getName() const
{
	return this->name;
}

itemType
item :: getItemType() const
{
	return this->type;
}

bool
item :: isEquippable() const
{
	return this->equippable;
}